#include "timerwidget.h"
#include "ui_timerwidget.h"

TimerWidget::TimerWidget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::TimerWidget)
{
    ui->setupUi(this);
    m_currentTime.setHMS(0, 0, 0);  // 初始化时间
    connect(&m_timer, &QTimer::timeout, this, &TimerWidget::slot_addSecond);
}

TimerWidget::~TimerWidget()
{
    delete ui;
}

void TimerWidget::start()
{
    // 当直接重新start时，将计时重置
    if (m_timer.isActive())
        m_currentTime.setHMS(0, 0, 0);

    m_timer.start(1000);    // 休眠1s
}

void TimerWidget::stop()
{
    // 结束通话后，计时重置
    m_timer.stop();
    m_currentTime.setHMS(0, 0, 0);
}

void TimerWidget::slot_addSecond()
{
    // 当前时间递增1s
    m_currentTime = m_currentTime.addSecs(1);
    setTimeLabel(m_currentTime);
}

void TimerWidget::setTimeLabel(QTime t)
{
    // 显示通话时间
    QString time = t.toString("hh:mm:ss");
    auto list = time.split(":");
    ui->hour->setText(list[0]);
    ui->minute->setText(list[1]);
    ui->second->setText(list[2]);
}
